package org.singledog.permission.annotation;

import org.springframework.core.annotation.AliasFor;

import java.lang.annotation.*;

/**
 * Permission核心注解
 *
 * @author liuzheming
 * @since 2021.9.14
 */
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Target(ElementType.METHOD)
public @interface Permission {

    /**
     * 目标的uri
     * @return 目标的uri
     */
    @AliasFor("uri")
    String value() default "";

    @AliasFor("value")
    String uri() default "";

    /**
     * 目标的权限
     * @return 目标的权限
     */
    String permission() default "";

    /**
     * 目标的方法
     * @return 目标的方法
     */
    String method() default "";
}
